<?php
class Round_input_dao extends Base_dao
{	
	function __construct()
    {
		parent::__construct();
		
		$this->nombreTabla = 'roundinput';
		$this->nombreColumnaID = 'id';
		$this->nombreModelo = 'Round_input_dto';
		
		$this->load->model("$this->nombreModelo");
	}
	
	public function guardar($objRoundInputDTO)
	{
		$objRoundInputDTO->date = date("Y-m-d H:i:s");

		// Controlar si guarda bien, ya que se está llamando al método padre
		$result = parent::guardar($this->nombreTabla, $this->nombreColumnaID, $objRoundInputDTO, $objRoundInputDTO->id);
		
		if($result['exito'])
		{
			if ($objRoundInputDTO->id == 0) { $objRoundInputDTO->id = $result['idGenerado']; }
		}
		
		return $result;
	}

	
	public function borrar($idRound, $idIndicator, $idUser)
	{
		$condiciones['idUser'] = $idUser;
		$condiciones['idRound'] = $idRound;
		$condiciones['idIndicator'] = $idIndicator;
		
		$result['exito'] = $this->db->delete("$this->nombreTabla", $condiciones);
		$result['error_msg'] = $this->db->_error_message();
		
		return $result;
	}
	
	public function obtenerDatos($condiciones = array(), $crearObjetos = false, $limite = 0, $camposSelect = '')
	{	
		return parent::obtenerDatos($this->nombreTabla, $this->nombreModelo, $condiciones, $crearObjetos, $limite, $camposSelect);
	}
	
	public function obtenerObjetos($condiciones = array(), $limite = 0)
	{
		return $this->obtenerDatos($condiciones, true, $limite);
	}
	
	public function obtenerObjetoPorID($idBuscado)
	{
		$obj = parent::obtenerObjetoPorID($this->nombreTabla, $this->nombreColumnaID, $this->nombreModelo, $idBuscado);
		if($obj == NULL) $obj = new Round_input_dto();
		
		return $obj;
	}
}